查看原文
其他

创新 IAA 技术:360 引领语言模型在多模态理解中的无损进化

王斌 谢春宇 DataFunTalk
2024-09-11

导读 当前广泛流行的基于 LLaVA 结构的多模态大语言模型(LMM: Large Multimodal Model)在视觉任务上表现出色,然而因为训练中需要对内嵌的语言模型进行微调,常常会显著削弱其在自然语言任务(NLP)上的能力,具体来说,模型对文本的整体理解能力会减弱,而且在回答问题时给出的信息也不够详细。为了防止这种性能退化,一个行之有效的办法是在扩展模型的多模态能力时,不改变语言模型的原始参数。不过,先前像 Flamingo 和 BLIP2 这样的尝试,并没有达到预期的效果。

本文受到图像生成领域中的 ControlNet 思路的启发,在保持语言模型不变的基础上,创新性地加入了内部适配器结构(IAA)。这一策略不仅保持了模型在自然语言处理(NLP)方面的原有能力,同时还显著提升了模型的通用多模态处理能力和视觉定位性能。与之前依赖大量图文对齐数据的冻结语言模型的方法不同,IAA 架构能够在使用较小规模数据集的情况下,依然展现出卓越的性能。此外,面对多样化的任务需求,可以轻松地在单个 GPU 上同时部署多个 IAA,从而在显存利用上实现高效的优化。

论文标题:IAA: Inner-Adaptor Architecture Empowers Frozen Large Language Model with Multimodal Capabilities论文链接:https://www.arxiv.org/abs/2408.12902模型和代码:https://github.com/360CVGroup/Inner-Adaptor-Architecturehttps://huggingface.co/qihoo360/Inner-Adaptor-Architecture主要内容包括:

1. 动机

2. 方法

3. 实验

4. 结论

分享嘉宾|王斌 谢春宇

出品社区|DataFun


01

动机

主流的多模态大模型 LMM 采用的是以 LLaVA 为代表的 vision-encoder + projector + LLM 的结构。这种结构的优点是可以利用已经预训练好的语言模型内嵌来大幅降低多模态模型训练的代价和难度,当前国内主要的多模态大模型如 Qwen-VL、InternVL、MiniCPM、DeepSeek-VL 等采用的都是这种架构。但是这种架构在实践中也存在一个非常难以解决从而被大家刻意回避讨论的问题,就是内嵌的语言模型在多模态模型的训练过程中会不可避免地发生“灾难性遗忘”问题,从而降低其在文本任务上的性能表现。作为验证,本文利用了 LLaVA-1.5 的 1.2M 开源数据集,在其模型架构上进行了实验。该数据集中除了常见的 VQA 和指令微调数据外,还包含少量的纯文本数据。如图 1 所示,无论是在 Qwen2 还是 Llama3 这两种语言模型基础上构建的 LLaVA-1.5 架构,在训练前后,语言模型在 MMLU 和 C-Eval 等纯文本基准测试中的得分均有显著下降。

图 1:在基于 Qwen2 和 Llama3 语言模型的仅文本评估集 MMLU 和 C-eval 上训练 LLaVA-1.5 架构前后的结果

内嵌语言模型的“灾难性遗忘”发生的根本原因,在于为了强调多模态模型在视觉任务上的能力,内嵌的语言模型在训练过程中都要参与训练。对于多模态 LMM 而言,为了实现优秀的多模态理解能力,需要大量的图像-文本数据来进行训练,训练量越大,灾难性遗忘的问题越严重。尽管像 LLaVA 这样的模型试图在其训练过程中整合一些纯文本数据,但仍未能完全避免这一问题。

防止大语言模型性能下降的一个直接方法是在 LMM 训练过程中冻结语言模型的参数。然而,目前采取这种策略的模型在多模态能力的 benchmark 测试中并未表现出令人满意的性能。为了解决这些挑战,本文提出了一种包含内部适配器结构(IAA)的训练范式,旨在不影响原始语言模型能力的同时,显著提升模型的多模态性能。

02

方法

图 2:IAA 的总览,包含两个工作流:多模态交互和纯文本对话

鉴于前面的讨论,保持 LLM 原有的能力变得至关重要。本文提出的 Inner-Adaptor Architecture(IAA)可以让 LMM 在部署后同时运行两个工作流:一个是多模态交互,另外一个是纯文本对话。

多模态交互工作流包括以下三个部分:

  • 图像编码器与 MLP 层:使用图像编码器(如 CLIP 或 SigLIP)提取高质量的图像特征,并通过 MLP 层实现视觉与语言的对齐。

  • 大语言模型:在训练期间保持冻结状态,以保留原有的语言处理能力。

  • 内部适配器结构:包括插入层、嵌入层以及专为多模态输入设计的语言模型头。

纯文本对话工作流则仅包含原始的大语言模型,不添加其他特定的模块。

图 3:IAA 的结构探索

在内部适配器结构(IAA)的设计上,参考图 3(a),本文受到了 ControlNet 架构的启发,额外进行 self-attention 等层的插入操作,可以简洁地表示如下:

其中,ϕfl 和 ϕil 分别表示冻结的语言模型层(LM)和插入层。Xin 表示多模态输入,Xout 表示多模态输出,G 表示零初始化的门控层。插入层包括自注意层、层归一化、前馈网络等,这与大语言模型中 transformer 层的参数尺度一致。例如,如果目标是第 22 个语言模型层,则相应的插入层的初始参数来源于第 22 个语言模型层。尽管如此,基于 ControlNet 的设计并没有获得很好的性能。

参考图 3(b),本文对基于 ControlNet 的结构进行了进一步的改进,消除了插入层之间的特征传播,将语言模型层的输出作为插入层的输入。每个冻结的 LM 层将通过一个插入层和门控层来容纳多模态数据,而插入层不再直接受到后续层的影响。与图 3(a)中的设计相比,改进后的结构在实验结果上展现出了显著的改善。

此外,本文认为门控层可能无法通过 LMM 常用的单轮数据训练策略达到最佳状态。因此,本文提出了一个更精简的解决方案,如图 3(c)所示,模型中特定层的操作可以用如下方式表示:

与方案(a)类似,如果将插入层放置在第 22 个冻结的 LM 层之后,则使用第 22 个冻结的 LM 层的参数进行初始化。在训练的模型中,插入层的数量可以任意指定。

除此之外,为了进行更好的多模态训练,本文同时引入了新的嵌入层和语言模型头,这些同样由原始的语言模型对应的结构初始化而来。在所有的多模态训练阶段里,原始的语言模型保持固定,仅对新加入的结构进行训练。最终,本文选择了图 3(c)中所示的结构,并将其命名为内部适配器结构(IAA)。实验结果验证了这种策略的有效性。

03

实验

1. 训练策略

在训练多模态大语言模型(LMM)的过程中,预训练阶段的核心任务是让模型学会如何将视觉信息与文本描述相对应。这个阶段,通常被称作图像-文本对齐阶段,它建立了视觉编码器与大语言模型(LLM)之间的桥梁。在我们的架构设计中,图像编码器和 LLM 在整个训练过程中都是保持不变的,这样做是为了保留它们在视觉和语言理解上的基础知识。而 MLP 投影层和 IAA 内部适配器结构则是需要通过训练来提升模型的多模态处理能力。

在实验中,我们发现对于 IAA 内部适配器结构来说,如果使用过高的学习率,会导致训练损失的不稳定甚至溢出。为了解决这个问题,我们设计了一个两阶段的预训练策略。在第一阶段,我们的模型结构由三个部分组成:图像编码器、MLP 投影层和大语言模型。在这个阶段,图像编码器和大语言模型的参数是固定的,我们使用 0.001 的高学习率来专注于训练高质量的投影层。

在第二阶段的预训练中,我们对模型进行了扩展,加入了专门用于处理多模态任务的 IAA。在这个阶段,可训练的参数包括了投影层和新增的 IAA,同时我们采用了更低的 2e-5 学习率,以便更精细地调整模型。完成预训练之后,模型还会接受进一步的指令微调和视觉定位微调,以优化其性能。

2. 通用多模态 benchmark 结果

表 1:多模态评测集的结果

本文将对比方法分为两大类:一类是采用冻结语言模型进行训练的,另一类则是采用未冻结(即微调)语言模型进行训练的。为了进行深入的分析,我们详细展示了每种方法所使用的数据集大小,以及它们所依赖的图像编码器、大语言模型等关键组件。为了确保比较的公正性,我们选择了参数规模相似的 LMM,并且这些方法的性能指标都是基于官方公布的数据。通过比较,我们可以明显看出,本文提出的方法在使用冻结语言模型训练的类别中展现出了显著的优势。这一结果表明,我们的方法在保持模型原有能力的同时,还能有效提升其在多模态任务上的表现。

此外,作为目前流行的做法,未冻结语言模型的 LMM 通常能够在多模态性能上获得更优的表现。然而,这种提升往往是以牺牲部分 NLP 能力为代价的。当我们对比 LLaVA-Llama3 这一方法时,我们发现 IAA 在采用相同的视觉编码器、语言模型和训练数据的情况下,在多模态性能指标上实现了更出色的成绩。正如表 2 所展示的,IAA 在提升多模态能力的同时,其 NLP 能力并未受到影响。相反,LLaVA 这种对语言模型进行微调的方法,在 MMLU 和 C-Eval 等自然语言处理评测集上的表现则受到了较为明显的影响,显示出 NLP 能力的下降。这进一步证明了 IAA 在保持语言模型原有优势的同时,有效地增强了模型的多模态处理能力。

表 2:纯文本评测集上的比较

图4展示了不同模型在纯文本对话任务上的性能表现。从中可以清晰看出,IAA 在处理纯文本对话时,成功保留了语言模型原有的对话能力。与此形成对比的是,开源的 LMM,例如 LLaVA-Llama3 和 LLaVA-v1.5,由于受到多模态数据的影响,其在纯文本对话任务上的表现有所下降。当面对相同的提问时,LLaVA-Llama3 和 LLaVA-v1.5 给出的回答往往更为简短。这种现象与它们在训练过程中接触的大量多模态数据中文本长度普遍较短的事实密切相关。对大语言模型进行微调,尤其是在处理多模态数据时,可能会削弱模型深入理解内容并生成详尽回复的能力。因此,IAA 的设计在保持模型对话质量方面显示出其独特的优势。

图 4:IAA 的结构探索

3. 视觉定位 benchmark 结果

表 3:视觉定位评测集的结果

表 3 的结果表明,IAA 能够在有限的数据集上实现有竞争力的视觉定位表现。为了保证公平可比,表中排除了使用超大数据集进行训练的模型,如使用了 15 亿图像文本对和 40 亿 grounding 数据的 CogVLM-grounding,以及那些利用了预训练目标检测模型的结构,如 LLaVA-Grounding 和 Groma 等。

4. 部署效率

目前,高性能的多模态模型通常需要解冻大语言模型来进行训练。CogVLM 强调了开发一个同时擅长多模态理解和视觉定位任务的模型的困难。为了解决这个问题,它采用了双模型策略,一种模型训练通用多模态能力,另一种模型训练视觉定位能力。在这种情况下,在 GPU 上采用 FP16 同时部署一个语言模型、一个通用多模态模型以及一个视觉定位模型,大约需要 50GB 的显存。本文提出的方法,通过内部适配器结构巧妙地结合了通用多模态能力和视觉定位能力,同时保护了原始大语言模型的 NLP 能力。举例来说,通过使用8层内部适配器配置,模型能够显著地减少显存占用,同时部署这三种能力的模型显存占用仅需30GB左右。

5. 消融实验

本文对 IAA 结构、训练策略、插入层数量等进行了一系列消融实验,具体结果可以看下面的表格。

表 4:IAA 结构探索的消融学习

表 5:采用不同训练策略的比较

表 6:IAA 插入层数量的消融

04

结论

本文提出了一种内部适配器结构(IAA),其设计宗旨在于提升大语言模型(LLM)在通用多模态理解和视觉定位等方面的能力。通过一系列精细的架构探索实验,本文证实了采用冻结语言模型策略的 LMM 在性能上能够超越那些经过微调的同类模型。在部署应用时,IAA 同时兼具多模态,目标定位与纯文本三个工作流程,这样不仅保持了语言模型在自然语言处理(NLP)方面的实力,而且还增强了其在处理复合任务时的灵活性。IAA 的这一特性为模型未来扩展至更多模态提供了广阔的可能性。

以上就是本次分享的内容,谢谢大家。

活动推荐

往期推荐


LLM 快速发展时代下图基础模型初探

货拉拉利用大模型打造多场景个人、办公助理实践

京东搜索重排:基于互信息的用户偏好导向模型

阿里巴巴AIGC技术与数据分析的融合实践

Data+AI时代来临,哪些领域要被颠覆?

视频生成领域最新开源!360AI 研究院提出 FancyVideo:在消费级显卡上定制你的 AI 视频!

大模型可以撞破金融落地的天花板吗?

EasyRec 推荐算法训练推理优化

无需等待:电商领域重排模型在线学习可以先于用户反馈

增强大模型智能:数学推理能力的提升策略与实践

点个在看你最好看

SPRING HAS ARRIVED

继续滑动看下一个
DataFunTalk
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存